Delivery of large quantities of continuous real-time data from a mobile transmitter to a receiver is a complex problem. The receiver may be located anywhere and connected thereto via one or more connected wireless networks. The data stream may be compressed and transmitted over one or more wireless links before arriving at a server where the operation is reversed, and the data stream recreated. Delivery of large quantities of continuous real-time data may be apparent in the field of live news gathering, for example, where timely delivery of a story to the studio in a broadcast quality format may be critical for success.
Existing technologies such as satellite or microwave fixed link may return a (live) video stream to a studio, but may have shortcomings. For example, satellite or microwave fixed link may take extra time to set up, may be expensive, and once set up may be difficult to be mobile. These solutions may have dedicated channels and a fixed bandwidth that prevents stream failure; however, sporadic drop-outs due to weather/catastrophic failure are still possible, but may be infrequent.
Cellular data is a possible alternate mechanism to satellite or microwave for sending data from a mobile transmitter. Cellular data is generally available, available while mobile, and relatively inexpensive. Cellular data may also be relatively low bandwidth, prone to transmission errors and lag due to resource contention, and may be subject to increased interference while moving.
A live audio/video stream has certain characteristics that make it unique, especially when compared with general data (e.g. web browsing data), stored audio/video data (e.g. content stored on a site such as a YouTube™ or Netflix™).
Stored audio/video solutions typically have the ability to buffer data at the start of stream playback, or at any time during playback if the required frames have not yet arrived. Initially, the player stores enough frames from the stream in a buffer to prevent video loss. If the stream is interrupted, the player is able to continue playing from the buffer, assuming that when the stream is restored, the frames will catch up and the buffer will be refilled. If the buffer empties, the player stops and displays the ‘buffering’ message while waiting for more data. In some circumstances, particularly where the available bandwidth is not sufficient to maintain the stream the result is a ‘stutter’ effect where the output repeatedly stops and starts.
For some industries such as broadcast, stopping to refill a buffer in the middle of a live audio/video stream may not be acceptable. If the receiver pauses to refill the buffer, the glass-to-glass latency, as defined herein, increases.
Professional live broadcast video is real-time with a requirement for fixed glass-to-glass latency. This is required because the producer of the live broadcast will typically have the sequence of events choreographed, so any change in the glass-to-glass latency would affect the timing of all other events. A fixed glass-to-glass latency means that the response to a video frame that is not delivered on time is to skip it rather than pause the stream to wait for it to arrive. Due to the way video compression works, the loss of even a single video frame may significantly impact the ability of a system to decompress the stream. This is because the most efficient video compression implementations only encode the differences between video frames to minimize the volume of data. As a result, the loss of a single frame of video at the receiver can have significant effects on the reconstructed stream, ranging from persistent video artifacts, black screen, to even complete decompression failure until the next Group of Pictures (“GOP”, defined herein) begin.
One solution to the loss of frames may be to choose a glass-to-glass latency that is large enough to absorb any expected network interruptions. For example, a 30 second glass-to-glass latency means there would be close to 30 seconds available to retransmit missing or incomplete frames. For situations requiring a shorter glass-to-glass latency, such as a live interview, this solution may not be feasible. Crucially, in some industries, even delays of seconds can make a video stream unusable or irrelevant. Adding an extended delay to the beginning of a stream, which may still have output errors due to transmission delay, is not feasible for these industries.
Transmitting broadcast quality live video in real time over cellular wireless networks is difficult. There are many wireless capable devices, even some using the latest network technologies (such as Long Term Evolution or LTE for example), that are physically capable of transmitting at the bitrates required for video for short periods. However, the devices may fail when required to reliably transmit a live video stream in real time. The failure may be caused by many uncontrolled variables, such as from physical objects causing interference, the weather, the contention that occurs when multiple devices share the same limited network resources, and so on.
In the world of large quantity time critical data, some solutions are focused on delivery of data transmissions to wireless receivers, but not from wireless transmitters. Cellular network technology implementations may be configured to prioritize delivery of data to a mobile device. As a result, the down channel (e.g. from the wireless network to the mobile device) typically has far more available bandwidth than the up channel (from the mobile device to the wireless network). This may be a worst case scenario for a mobile device that is generating and attempting to transmit the volume of audio/video data required to send broadcast video.
In the field of data communications, multiple data channels may be used to augment data throughput and solve some problem of delivering reliable, high quality data transmissions, such as video data. The paper “Distributed Video Streaming with Forward Error Correction”, by Thinh Nguyen and Avideh Zakhor proposes one such method. An approach known in this field includes opening multiple paths and adjusting data rates based on the throughput actually reaching the receiver. This approach typically focuses on extremely specific calculations to maximize efficiency and Forward Error Correction (FEC) through a control channel to adjust the data rates per channel. These types of solutions generally fail over wireless network topologies as a result of the many anomalies that abound in a wireless medium, which may cause sudden and dramatic changes in latency and throughput. Moving wireless transmitters experience problems such as dynamic fading, dead zones, dramatic latency differences, echo effects, the ability to receive but not transmit data, RF interference, immediate channel loss, and channel re-allocation to voice cell phone users.
There exists a need for improved systems and methods for transmitting or streaming large volume audio/video data transmission (from a mobile device) over one or more wireless networks in real time.
There exists a need for systems and methods that address at least some of the challenges and problems associated with maintaining consistent data reception quality when faced with the anomalies of delivering audio/video data stream from a stationary or moving mobile wireless transmitter in real time or near real time.